package controllers;

import java.util.Set;

import models.Mensagem;
import play.data.Form;
import play.mvc.Controller;
import play.mvc.Result;
import play.mvc.Security;
import views.html.Mensagem.exibir;
import views.html.Mensagem.listar;
import views.html.Mensagem.verificarDestinatario;
import dao.DAOMensagem;

@Security.Authenticated(Secured.class)
public class Mensagens extends Controller {

	private static Form<Mensagem> formMensagem = new Form<Mensagem>(
			Mensagem.class);
	private static Mensagem mensagem;
	private static DAOMensagem daomsg;

	private static void initForm() {
		Form<Mensagem> novaMensagem = formMensagem.bindFromRequest();
		mensagem = novaMensagem.get();
		daomsg = new DAOMensagem();
	}

	public static Result criar() {
		return ok(views.html.Mensagem.mensagem.render());
	}

	public static Result verificarDestino() {
		return ok(verificarDestinatario.render());
	}

	public static Result inserir() {
		initForm();
		daomsg.inserir(mensagem);
		return ok(exibir.render(mensagem));
	}

	public static Result deletar() {
		initForm();
		daomsg.excluir(mensagem);
		return ok("A mensagem foi deletada");
	}

	public static Result listar() {
		initForm();
		Set<Mensagem> lista = daomsg.porDestino(mensagem.loginDestino);
		return ok(listar.render(lista));
	}

}
